函数

函数只定义一次,但可能会被执行多次或调用多次的代码,简单说,函数就是一组可重用的代码,可以在程序的任何地方调用它

定义函数

  • 函数声明方式
function fun(){
    console.log('这是一个函数');
}
  • 字面量表达式,有点类似于声明变量的方式
var fun=function(){
    console.log('这是一个');
}

调用函数

函数定义并不会自动执行,定义了函数仅仅是函数的名称,方便调用时通过函数名称进行调用,调用函数才是真正执行的行为。
1.定义一个函数fun

function fun(){
    console.log('这是一个函数');
}

2.调用函数

fun();//通过调用函数输出字符串:这是一个函数

函数的参数

函数的参数就相当于在函数中使用的变量(虽然这个比方不是很准确),JavaScript中的函数定义并未制定函数参数的类型,函数调用时也未对传入的参数做任何的类型检查。

  • 形参:出现在函数定义名称括号里的参数列表,函数的形式参数,简称形参,简单来说就是定义函数时使用的参数就是形参
  • 实参:函数调用时实际传入的参数是函数的实际参数,简称实参,简单来说,就是调用函数时使用的参数就是实参
/*一般情况下,形参与实参的个数是相同的,但在JavaScript中并不强求这一点,
在特殊情况下,函数的形参和实参的个数可以不相同*/
//这里定义fun时,num1,和num2就是函数的形参,调用fun时,1和2就是函数的实参
function fun(num1,num2){
    console.log(num1+num2);
}
fun(1,2);//输出 3

return语句

函数还可以包含一个返回语句:return。当然这并不是必须的,return语句使函数可以作为一个值来使用。

function fun(str){
    //return直接把值返回给fn,此时fn接住return返回的值
    return 'hello'+str;
}
//变量fn的值为 你好 web前端
var fn=fun('web前端');

预定义函数

1.eval():对一串字符串形式的JavaScript代码字符求值

var str='console.log("这是一段JavaScript代码")';
/*eval()函数
    作用:将一个字符串类型的JavaScript代码段转换为真正的JavaScript代码,并且执行,
    但是安全问题很大,如果用户自己在程序添加恶意代码,那么同意也会被执行,目前开发
    很少用这个eval()    
*/
eval(str);

2.uneval():创建的一个Object的源代码的字符串表示
3.decodeURI():对已编码的统一资源标识符(URI)进行解码,并返回其非编码形式

var uri="http://www.qianduan.com/web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91";
var decode=decodeURI(uri);
/*输出结果:http://www.qianduan.com/web前端开发,对后面的编码进行解码成中文*/
console.log(decode);

4.encodeURI():对统一资源标识符(URI)进行编码,并返回编码后的URI字符串

var uri="http://www.qianduan.com/web前端开发";
var encode=encodeURI(uri);
/*输出结果:http://www.qianduan.com/web%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91
对后面中文部分进行编码
*/
console.log(encode);

庄国琳
42 声望7 粉丝

如果不努力,那以后你还是一条咸鱼